<?php

/**************************************************************************
* Source File	:  FabriqueMySQL.php
* Author        :  Amodeos - Herleman - Kuete
* Project name  :  Gestion Annuaire des anciens de l'UM2
* Modified   	:  19/05/2010
* Description	:  Definition de la classe abstraite FabriqueMySQL qui est un Singleton.
**************************************************************************/

//Include
include ("FabriqueAbstraite.php");
include ("MembreMySQL.php");
include ("ComposanteMySQL.php");


class FabriqueMySQL  extends FabriqueAbstraite			
{
	//Instance de la classe
	private static $instance;
	
	//Constructeur prive
	private function FabriqueMySQL () {
		
	}
	
	//Le singleton
	public static function getInstance () {
		if (!isset(self::$instance)) {
			
			self::$instance = new FabriqueMySQL();
		}
		
		return self::$instance;
	}
		
	 public function getMembre ($uid){
	 	$membre = new MembreMySQL();
	 	$membre->setIdMembre($uid);
	 	$membre->load();
	 	return $membre;
	 }
	
	//Methodes
	public function creerFormation ($duree) {
		//A implementer
	}
	
	public function creerPoste ($membre,$entreprise,$fonction,$dateDeb,$dateFin) {
		$poste = new PosteMySQL();
		$poste->setDateDebut($dateDeb);
		$poste->setDateFin($dateFin);
		$poste->setFonction($fonction);
		$poste->setEntreprise($entreprise);
		$poste->save($membre);
	}
	 	
	 public function getPoste ($idPoste){
	 	$poste = new PosteMySQL();
	 	$poste->setIdPoste($idPoste);
	 	$poste->load();
	 	return $poste;
	 }	 
	
	public function getListeComposante(){
		$liste=ComposanteMySQL::loadListe();
		return $liste;
	}
	
	public function creerComposante ($nom, $description, $rue, $ville, $cp){
		echo "fabriqueeeeeeeeee";
		$composante = new ComposanteMySQL();
		$composante->setNom ($nom);
		$composante->setDescription ($description);
		$composante->setAdresseRue ($rue);
		$composante->setAdresseVille ($ville);
		$composante->setAdresseCp ($cp);
		$composante->save();
		return $composante;
	}
} // End Class FabriqueMySQL


?>
